﻿import kotlinx.coroutines.*
import kotlinx.coroutines.channels.*

fun main() = runBlocking {
    val channel = Channel<Int>()
    launch {
        // 此操作可能是占用大量CPU的计算或异步逻辑
        // 当前只发送了5个数据
        for (x in 1..5) channel.send(x * x)
    }
    // 打印接收到的5个数据
    repeat(5) { println(channel.receive()) }
    println("Done!")
}